package br.com.esporte.repositorio.DAO.imp;

import java.util.List;

import org.hibernate.Query;
import org.springframework.stereotype.Repository;

import br.com.esporte.negocios.entidade.imp.Grupo;
import br.com.esporte.negocios.entidade.imp.Usuario;
import br.com.esporte.repositorio.DAO.IUsuarioDAO;
import br.com.esporte.repositorio.filtro.imp.FiltroUsuario;

/**
 * @author Milton Domingues
 */
@Repository
public class UsuarioDAO extends HibernateGenericDAO<Usuario, Long, FiltroUsuario> implements IUsuarioDAO{

	public UsuarioDAO() {
		super(Usuario.class);
	}

	@SuppressWarnings("unchecked")
	public List<Usuario> consultarUsuarioGrupo(Grupo grupo){
		StringBuilder hql = new StringBuilder();

		hql.append("SELECT usuario FROM GrupoEsporteGrupo grupo INNER JOIN grupo.usuarios as usuario WHERE grupo = :grupo");

		Query query = this.createQuery(hql.toString());

		query.setParameter("grupo", grupo);

		return query.list();
	}

}
